package com.utils.jackyun;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;

/**
 * 吉客云商品映射
 * @Description: 
 * @author daigb
 * @date 2021-06-28
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class JkyProductResDTO {
    /**
     * 状态码
     */
    @JsonProperty(value = "code")
    private String code;
    
    /**
     * developerInfo
     */
    @JsonProperty(value = "developerInfo")
    private String developerInfo;
    
    /**
     * msg
     */
    @JsonProperty(value = "msg")
    private String msg;
    
    /**
     * result
     */
    @JsonProperty(value = "result")
    private Result result;
    
    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Result {
        
        /**
         * result
         */
        @JsonProperty(value = "contextId")
        private String contextId;
        
        /**
         * data
         */
        @JsonProperty(value = "data")
        private DataResult dataResult;
        
        /**
         * pageInfo
         */
        @JsonProperty(value = "pageInfo")
        private PageInfo pageInfo;
        
    }
    
    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class PageInfo {
        
        @JsonProperty(value = "offset")
        private Integer offset;
        
        @JsonProperty(value = "pageIndex")
        private Integer pageIndex;
        
        @JsonProperty(value = "pageSize")
        private Integer pageSize;
        
        @JsonProperty(value = "sortField")
        private String sortField;
        
        @JsonProperty(value = "sortOrder")
        private String sortOrder;
        
        @JsonProperty(value = "total")
        private Integer total;
        
    }
    
    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class DataResult {
        /**
         * goods
         */
        @JsonProperty(value = "goods")
        private List<Goods> goods;
        
    }
    
    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class ImgUrl {
        
        @JsonProperty(value = "goodsId")
        private String goodsId;
        
        @JsonProperty(value = "imgUrl")
        private String imgUrl;
        
        @JsonProperty(value = "isMainImage")
        private String isMainImage;
        
        @JsonProperty(value = "imagePosition")
        private String imagePosition;
        
        @JsonProperty(value = "imgKey")
        private String imgKey;
        
    }
    
    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Goods {
        
        @JsonProperty(value = "goodsId")
        private String goodsId;
        
        @JsonProperty(value = "goodsNo")
        private String goodsNo;
        
        @JsonProperty(value = "goodsName")
        private String goodsName;
        
        @JsonProperty(value = "skuName")
        private String skuName;
        
        @JsonProperty(value = "skuId")
        private String skuId;
        
        @JsonProperty(value = "skuBarcode")
        private String skuBarcode;
        
        @JsonProperty(value = "unitName")
        private String unitName;
        
        @JsonProperty(value = "skuCode")
        private String skuCode;
        
        @JsonProperty(value = "cateId")
        private String cateId;
        
        @JsonProperty(value = "cateName")
        private String cateName;
        
        @JsonProperty(value = "brandId")
        private String brandId;
        
        @JsonProperty(value = "brandName")
        private String brandName;
        
        @JsonProperty(value = "goodsDesc")
        private String goodsDesc;
        
        @JsonProperty(value = "goodsAlias")
        private String goodsAlias;
        
        @JsonProperty(value = "imgUrlList")
        private List<ImgUrl> imgUrlList;
        
        @JsonProperty(value = "skuImgUrl")
        private String skuImgUrl;
        
        @JsonProperty(value = "shelfLife")
        private String shelfLife;
        
        @JsonProperty(value = "shelfLiftUnit")
        private String shelfLiftUnit;
        
        @JsonProperty(value = "isBlockup")
        private String isBlockup;
        
        @JsonProperty(value = "skuIsBlockup")
        private String skuIsBlockup;
        
        @JsonProperty(value = "abcCate")
        private String abcCate;
        
        @JsonProperty(value = "shelfLiftUnitName")
        private String shelfLiftUnitName;
        
    }
    
}
